package com.hunan.api.catv.entity.po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 推送消息记录 
 * </p>
 *
 * @author wangchao
 * @since 2021-06-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("app_push_message_record")
public class AppPushMessageRecord extends Model<AppPushMessageRecord> {

    private static final long serialVersionUID=1L;

    /**
     * 推送id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 推送标题
     */
    private String pushTitle;

    /**
     * 推送内容
     */
    private String pushContent;

    /**
     * 推送图片
     */
    private String pushImage;

    /**
     * 推送url
     */
    private Integer pushUrlId;

    /**
     * 推送平台 0:所有  1:安卓  2:ios
     */
    private Integer pushPlatform;

    /**
     * 推送目标 0:所有用户  1:用户分群推送  2:上传用户列表
     */
    private Integer pushAims;

    /**
     * 推送状态 0:待发送  1:定时推送  2:已推送   3:终止
     */
    private Integer pushStatus;

    /**
     * 定时时间
     */
    private Date timingTime;

    /**
     * 离线时长 该用户当前不在线,则会保存为离线消息(单位为秒)
     */
    private String offlineTime;

    /**
     * 推送渠道 0:走极光通道  1:走厂商通道
     */
    private Integer pushChannel;

    /**
     * 厂商通道指定跳转 针对 VIP 厂商通道用户使用生效
     */
    private String uriActivity;

    /**
     * 厂商通道指定跳转页面 VIP 厂商通道用户使用生效
     */
    private String uriAction;

    /**
     * 厂商通道参数
     */
    private String extend1;

    /**
     * 扩展字段2
     */
    private String extend2;

    /**
     * 扩展字段3
     */
    private String extend3;

    /**
     * 扩展字段4
     */
    private String extend4;

    /**
     * 扩展字段5
     */
    private String extend5;

    /**
     * 推送时间
     */
    private Date pushTime;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 创建人
     */
    private Integer createBy;

    /**
     * 更新人
     */
    private Integer updateBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 逻辑删除 0:未删除 1:已删除
     */
    private Integer deleted;

    /**
     * 推送类型：0：默认推送到通知栏 1：官方消息-自定义消息透传
     */
    private Integer type;

    /**
     * 发送消息人昵称
     */
    private String senderName;

    /**
     * 发送消息人id,0:官方消息，其余账户为memberId
     */
    private Integer senderId;


    public static final String ID = "id";

    public static final String PUSH_TITLE = "push_title";

    public static final String PUSH_CONTENT = "push_content";

    public static final String PUSH_IMAGE = "push_image";

    public static final String PUSH_URL_ID = "push_url_id";

    public static final String PUSH_PLATFORM = "push_platform";

    public static final String PUSH_AIMS = "push_aims";

    public static final String PUSH_STATUS = "push_status";

    public static final String TIMING_TIME = "timing_time";

    public static final String OFFLINE_TIME = "offline_time";

    public static final String PUSH_CHANNEL = "push_channel";

    public static final String URI_ACTIVITY = "uri_activity";

    public static final String URI_ACTION = "uri_action";

    public static final String EXTEND1 = "extend1";

    public static final String EXTEND2 = "extend2";

    public static final String EXTEND3 = "extend3";

    public static final String EXTEND4 = "extend4";

    public static final String EXTEND5 = "extend5";

    public static final String PUSH_TIME = "push_time";

    public static final String CREATE_TIME = "create_time";

    public static final String CREATE_BY = "create_by";

    public static final String UPDATE_BY = "update_by";

    public static final String UPDATE_TIME = "update_time";

    public static final String DELETED = "deleted";

    public static final String TYPE = "type";

    public static final String SENDER_NAME = "sender_name";

    public static final String SENDER_ID = "sender_id";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
